home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ahoy 1987 June
/
Ahoy_Magazine_87-06_1987_Double_L.d64
/
dir 1
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
10KB
|
296 lines
30 rem********************************
32 rem* menu program *
34 rem* designed by *
36 rem* double l software *
38 rem* (c) 1987 all rights reserved *
40 rem********************************
50 poke53265,peek(53265)and239
60 clr:gosub4000
80 dim p$(25),in$(25,5):gosub5000
100 poke53280,0:poke53281,0:printchr$(14):gosub2500:gosub5900
120 gosub800:poke53265,peek(53265)or16
140 h=1:g=0:l=8:lc=55590:p=8
150 fori=8to19:g=g+1:printleft$(l$,i)tab(14)"[154]"p$(g):next
204 f=len(p$(h)):fori=0tof:pokelc+i,7:next:gosub1000
205 printleft$(l$,p)tab(10)pt$
206 getan$:ifan$=""then206
208 ifan$=chr$(17)then1250
210 ifan$=chr$(145)then1300
215 ifan$=chr$(13)then2000
220 ifan$=chr$(32)andg=>24thengosub3000:goto140
222 ifan$=chr$(32)thengosub3000:h=13:lc=55590:p=8:goto150
225 goto204
230 print"[147]";:poke53280,0:poke53281,6
235 print"[158][204]oading...";chr$(34);p$(h)chr$(34);""
240 print "load";chr$(34);p$(h);chr$(34);",8"
250 print "run":print "[145][145][145][145][145][145][145][145][145]"
260 poke 631,13:poke 632,13:poke 198,2:end
800 print"[147]":printleft$(l$,2)tab(2)"[158][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
810 printleft$(l$,3)tab(2)"[158][221] [154][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174][158] [221]"
820 fori=1to16:printtab(2)"[221] [154][221] [221][158] [221]":next
830 printleft$(l$,20)tab(2)"[221] [154][173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][158] [221]"
835 printleft$(l$,21)tab(2)"[158][173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
840 printleft$(l$,22)tab(1)"[155][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
850 printleft$(l$,23)tab(1)"[221] [158][195]rsr[155]=[211]elect [211]pc[155]=[205]ore [150][195]/[210][155]=[197]xecute [221]"
860 printleft$(l$,24)tab(1)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
870 printleft$(l$,4)tab(10)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
880 printtab(10)"[221] [205] [193] [201] [206] [205] [197] [206] [213] [221]"
890 printtab(10)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
900 return
1000 s=54272:pokes+23,0:pokes+24,15
1010 pokes+6,0:pokes+5,12:pokes+1,70:pokes+3,40
1020 pokes+4,0:pokes+4,65:ford=1to100:next:pokes+4,0:return
1250 printleft$(l$,p)tab(10)"[154] ":fori=0tof:pokelc+i,14:next
1260 h=h+1:ifh>gthenh=h-12
1262 p=p+1:ifp>19thenp=8
1265 lc=lc+40:iflc>56030thenlc=55590
1270 goto204
1300 printleft$(l$,p)tab(10)"[154] ":fori=0tof:pokelc+i,14:next
1310 h=h-1:ifh<g-11thenh=h+12
1312 p=p-1:ifp<8thenp=19
1315 lc=lc-40:iflc<55590thenlc=56030
1320 goto204
1550 sys828
1560 printleft$(l$,13)tab(4)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
1570 printleft$(l$,14)tab(4)"[221] [212]his is a 128 [208]rogram.[201]t may [221]"
1580 printleft$(l$,15)tab(4)"[221] not be loaded in the 64 mode.[221]"
1590 printleft$(l$,16)tab(4)"[221] [217]ou must switch to the 128 [221]"
1600 printleft$(l$,17)tab(4)"[221] mode in order to load this [221]"
1610 printleft$(l$,18)tab(4)"[221] program successfully. [213]se the[221]"
1620 printleft$(l$,19)tab(4)"[221] prescribed method which is...[221]"
1630 printleft$(l$,20)tab(4)"[221] [196][204]oad ''[208]rogname'' [221]"
1640 printleft$(l$,21)tab(4)"[221] [158][[208]ress any [203]ey] [221]"
1650 printleft$(l$,22)tab(4)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
1660 printleft$(l$,23)tab(3)"[155] ":gosub1000
1670 getan$:ifan$=""then1670
1680 sys882:goto225
1997 rem **************************
1998 rem **** window routine ****
1999 rem **************************
2000 sys828
2010 printleft$(l$,5)tab(11)"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
2030 printleft$(l$,6)tab(11)"[221][211]ee [201]nstructions[221]"
2040 printleft$(l$,7)tab(11)"[221][210]un [208]rogram [221]"
2050 printleft$(l$,8)tab(11)"[221][195]ancel [215]indow [221]"
2060 printleft$(l$,9)tab(11)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
2070 po=55507:x=0
2080 fori=1to16:pokepo+i,1:next:gosub1000
2090 getan$:ifan$=""then2090
2100 ifan$=chr$(17)thengosub2200:po=po+40:x=x+1:ifpo>55587thenpo=55507
2110 ifx>2thenx=0
2120 ifan$=chr$(13)then2140
2130 goto2080
2140 ifx=0thensys882:goto4100
2145 ifx=2then2160
2146 ifh=3orh=4orh=5orh=8orh=9orh=12orh=17orh=19thensys882:goto1550
2159 ifx=1thensys882:goto230
2160 sys882:goto225
2200 fori=1to16:pokepo+i,5:next:return
2500 p$(1)="[198]lankspeed"
2510 p$(2)="64 [194]ug [210]ep [201][201]"
2520 p$(3)="128 [194]ug [210]ep ii"
2530 p$(4)="wraiths"
2540 p$(5)="galactic cab co."
2550 p$(6)="[208]ower [211]quares"
2560 p$(7)="[195]ave [207]f [201]ce [193]pe"
2570 p$(8)="128 multi ram"
2580 p$(9)="alt-key 128"
2590 p$(10)="[202]iffies"
2600 p$(11)="64 [211]witch [194]ounce"
2610 p$(12)="128switch bounce"
2615 p$(13)="[208]arm [208]ass"
2620 p$(14)="[208]arm [208]ass 2"
2630 p$(15)="[195]rafty [195]omp"
2640 p$(16)="[195]rafty [195]omp 2"
2650 p$(17)="alpha sprite"
2660 p$(18)="[193]lpha [211]prite"
2670 p$(19)="alpha sprite 2"
2690 p$(20)="[205]ax [211]quare"
2700 p$(21)="[196]-[211]nap"
2710 p$(22)=""
2720 p$(23)=""
2730 p$(24)=""
2740 return
3000 forcl=8to19:printleft$(l$,cl)tab(14)"[154] ":next
3010 printleft$(l$,p)tab(10)"[154] ":return
4000 poke657,128:rem disable shift/com key
4010 poke775,200:rem disable listing
4020 poke808,234:rem disable stop/restore
4030 l$="":pt$="[154]=>":return
4100 sys828
4110 printleft$(l$,8)tab(1)"[159][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
4120 fori=9to14:printleft$(l$,i)tab(1)"[221] [221]"
4125 next
4130 printleft$(l$,15)tab(1)"[221] [158][[195]/[210]=[195]ancel * [211]pc=[210]un [208]rogram][159] [221]"
4140 printleft$(l$,16)tab(1)"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
4145 printleft$(l$,23)tab(3)"[155] ":gosub1000
4150 fori=1to5:printleft$(l$,8+i)tab(3)"[159]"in$(h,i):next
4160 getan$:ifan$=""then4160
4170 ifan$=chr$(13)thensys882:goto204
4180 ifh=3orh=4orh=5orh=8orh=9orh=12orh=17orh=19thensys882:goto1550
4190 ifan$=chr$(32)thensys882:goto230
4200 goto4160
5000 fori=828to935:reada:pokei,a:next:return
5010 data 160,0,185,0,4,153,0,192
5020 data 185,0,216,153,240,195,185,250
5030 data 4,153,250,192,185,250,216,153
5040 data 234,196,185,244,5,153,244,193
5050 data 185,244,217,153,228,197,185,238
5060 data 6,153,238,194,185,238,218,153
5070 data 222,198,200,208,205,96,160,0
5080 data 185,0,192,153,0,4,185,240
5090 data 195,153,0,216,185,250,192,153
5100 data 250,4,185,234,196,153,250,216
5110 data 185,244,193,153,244,5,185,228
5120 data 197,153,244,217,185,238,194,153
5130 data 238,6,185,222,198,153,238,218
5140 data 200,208,205,96
5799 rem ---------------------------
5800 rem ** max of 33 chrs in length **
5801 rem ---------------------------
5900 fori=1to24:forx=1to5:readin$(i,x):next:next:return
5999 rem program #1
6000 data "[212]his is [193]hoy!'s [205]achine [204]anguage "
6001 data "entry program for our adventurous"
6002 data "readers who like to type in the"
6003 data "programs from our magazine."
6004 data " "
6009 rem program #2
6010 data "[193]hoy!'s checksum program, for mis-"
6011 data "takeproof typing of [195]-64 [194][193][211][201][195] "
6012 data "programs printed in [193]hoy!. ([198]or "
6013 data "programs published from [205]ay 1987 "
6014 data "only! [207]therwise use 64 [194]ug [210]ep.)
6019 [143] program #3
6020 [131] "atnhoy!'s checksum program, for mis- "
6021 [131] "takeproof typing of len-128closepeekatn(NULL)right$len "
6022 [131] "programs printed in atnhoy! (ascor pro-"
6023 [131] "grams published from (NULL)ay 1987 only!"
6024 [131] "(NULL)therwise use 128 peekug (NULL)epellent.)"
6029 [143] program #4
6030 [131] "(NULL)raiths: a shoot-the-aliens, "
6031 [131] "whistles-and-bells arcade game for"
6032 [131] "the len-128 requiring the player to "
6033 [131] "exterminate a malicious race of "
6034 [131] "space-roaming lifeforms. (NULL)se (NULL)ort 2"
6039 [143] program #5
6040 [131] "chr$alactic lenab leno.: a difficult (NULL)unar"
6041 [131] "(NULL)ander-type game for the len-128 that"
6042 [131] "takes place inside a massive cavern"
6043 [131] "under the surface of a planet. "
6044 [131] "mid$oystick in (NULL)ort 2. "
6049 [143] program #6
6050 [131] "(NULL)ower (NULL)quares: a len-64 stategy game"
6051 [131] "requiring the player to push "
6052 [131] "squares into a vacant area ahead "
6053 [131] "of his opponent (or computer in "
6054 [131] "solotaire mode). "
6059 [143] program #7
6060 [131] "lenave of the right$ce atnpe: a len-64 game "
6061 [131] "requiring the player to rescue "
6062 [131] "(NULL)axine without being hit by one "
6063 [131] "of the right$ce atnpe's snowballs. "
6064 [131] "mid$oystick in (NULL)ort 1. "
6069 [143] program #8
6070 [131] "128 multi ram: a utility making it "
6071 [131] "possible to split the len-128's (NULL)atn(NULL)"
6072 [131] "into four areas for keeping up to "
6073 [131] "four programs in memory at one "
6074 [131] "time. "
6079 [143] program #9
6080 [131] "atnlt-(NULL)ey 128:a program providing "
6081 [131] "the len-128 with 37 additional user-"
6082 [131] "definable function keys, accessed"
6083 [131] "by pressing an alphanumeric char. "
6084 [131] "in tandem with the atn(NULL)(NULL) (NULL)ey. "
6089 [143] program #10
6090 [131] "mid$iffies: a utility presented in "
6091 [131] "support of this month's (NULL)upert (NULL)e- "
6092 [131]"port on (NULL)egaflops and (NULL)icroseconds"
6093 [131]", demonstrating how quickly peekasic"
6094 [131]"can respond to your joystick peekutton"
6099 [143] program #11
6100 [131]"64 (NULL)witch peekounce:a utility included"
6101 [131]"with this issue's (NULL)upert (NULL)eport on "
6102 [131]"(NULL)egaflops and (NULL)icroseconds, dis- "
6103 [131]"playing the switch contact status "
6104 [131]"each time the button is pressed"
6109 [143] program #12
6110 [131]"128 switch bounce: a 128 version "
6111 [131]"of 64 (NULL)witch peekounce. "
6112 [131]" "
6113 [131]" "
6114 [131]" "
6119 [143] program #13
6120 [131]"(NULL)arm (NULL)ass: solution to the asceb- "
6121 [131]"ruary '87 lenommodare, requiring a "
6122 [131]"numeric variable between 0 and "
6123 [131]"65535 to be defined in one program."
6124 [131]" "
6129 [143] program #14
6130 [131]"(NULL)arm (NULL)ass 2: another solution to "
6131 [131]"(NULL)arm (NULL)ass. "
6132 [131]" "
6133 [131]" "
6134 [131]" "
6139 [143] program #15
6140 [131]"lenrafty lenomparison: solution to the"
6141 [131]"asceb.'87 lenommodare, requiring a prog"
6142 [131]"to determine the largest of four "
6143 [131]"#'s without using any conditional, "
6144 [131]"comparison, or peekoolean statements."
6149 [143] program #16
6150 [131]"lenrafty lenomparison 2: another "
6151 [131]"solution to lenrafty lenomparison. "
6152 [131]" "
6153 [131]" "
6154 [131]" "
6159 [143] program #17
6160 [131]"alpha sprite: solution to the asceb."
6161 [131]"'87 lenommodare, req. a 128 program "
6162 [131]"to put a character onscreen, cap-"
6163 [131]"ture it,convert it to a sprite, and"
6164 [131]"magnify it 2 times high and wide. "
6169 [143] program #18
6170 [131]"atnlpha (NULL)prite: a len-64 solution to "
6171 [131]"alpha sprite. "
6172 [131]" "
6173 [131]" "
6174 [131]" "
6179 [143] program #19
6180 [131]"alpha sprite 2: another len-128 "
6181 [131]"solution to alpha sprite. "
6182 [131]" "
6183 [131]" "
6184 [131]" "
6189 [143] program #20
6190 [131]"(NULL)ax (NULL)quare: solution to the asceb.'87"
6191 [131]"lenommodare requiring a program to "
6192 [131]"arrange digits 1-9 in a 3x3 square"
6193 [131]"such that the sum of the products of"
6194 [131]"the #'s in each row is a maximum."
6199 [143] program #21
6200 [131]"str$-(NULL)nap: a sector editor enabling "
6201 [131]"the len-64 user to modify and view "
6202 [131]"any block of a standard chr$len(NULL) "
6203 [131]"formatted diskette. "
6204 [131]" "
6209 [143] program #22
6210 [131]"(NULL)ot (NULL)sed..... "
6211 [131]" "
6212 [131]" "
6213 [131]" "
6214 [131]" "
6219 [143] program #23
6220 [131]"(NULL)ot (NULL)sed..... "
6221 [131]" "
6222 [131]" "
6223 [131]" "
6224 [131]" "
6229 [143] program #24
6230 [131]"(NULL)ot (NULL)sed..... "
6231 [131]" "
6232 [131]" "
6233 [131]" "
6234 [131]" "